import request from "@/utils/request";

export type LoginByAccountParams = {
    account: string;
    password: string;
};
export interface MemberManageLoginResponse {
    /**
     * 用户id(前端进行缓存，在HttpHeaders中添加)
     */
    userId: number;
    /**
     * 用户所属会员Id(前端进行缓存，在HttpHeaders中添加)。同时也用于切换会员下拉框
     */
    memberId: number;
    /**
     * 会员角色Id
     */
    memberRoleId: number;
    /**
     * 用户Token(前端进行缓存，在HttpHeaders中添加)
     */
    token: string;
    /**
     * 用户账号
     */
    account: string;
    /**
     * 用户姓名
     */
    name: string;
    /**
     * Token过期时间（单位：分钟）
     */
    tokenExpireMinutes: number;
    /**
     * 用户授权访问的前端页面菜单Url列表 ,String
     */
    urls: string[];
}
export const memberManageLogin = async (params: LoginByAccountParams) => {
    try {
        const res = await request.post<MemberManageLoginResponse>("/member/manage/login", params, {
            token: false,
            error: "message",
        });

        return res.code === 1000 ? res.data.token : null;
    } catch (error) {
        console.log("loginByAccount catch error.", error);
        return null;
    }
};

export const getMemberUserInfo = async () => {
    try {
        const res = await request.get<MemberManageLoginResponse>("/member/manage/login/reget");

        return res.code === 1000 ? res.data : null;
    } catch (error) {
        console.log("getMemberUserInfo catch error.", error);
        return null;
    }
};
